package com.xkstream.client.api;

import com.xkstream.client.base.BaseData;
import com.xkstream.client.entity.AnchorInfo;
import com.xkstream.client.entity.Game;
import com.xkstream.client.entity.ReceiveGift;
import com.xkstream.client.entity.kt.GiftRankingData;
import com.xkstream.client.entity.kt.GiftStarData;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by xiaoyi on 2017/8/24.
 */

public interface LiveService {
    /**
     * 主播上下线
     */
    @FormUrlEncoded
    @POST(API.ANCHOR_ON_OFF)
    Observable<BaseData> anchorOnOff(@FieldMap Map<String, Object> params);

    /**
     * 获取游戏类型
     */
    @POST(API.GET_GAME_TYPE)
    Observable<BaseData> getGameType();

    /**
     * 礼物排行榜（价值）
     */
    @FormUrlEncoded
    @POST(API.GIFT_RANKING)
    Observable<BaseData<GiftRankingData>> getGiftRanking(@FieldMap Map<String, Object> params);

    /**
     * 礼物历史记录
     */
    @FormUrlEncoded
    @POST(API.GIFT_RECORD)
    Observable<BaseData<List<ReceiveGift>>> getGiftRecord(@FieldMap Map<String, Object> params);

    /**
     * 主播信息
     */
    @FormUrlEncoded
    @POST(API.ANCHOR_DETAIL)
    Observable<BaseData<List<AnchorInfo>>> getAnchorDetail(@FieldMap Map<String, Object> params);

    /**
     * 直播设置
     */
    @FormUrlEncoded
    @POST(API.LIVE_SETTINGS)
    Observable<BaseData> applyLiveSttings(@FieldMap Map<String, Object> params);

    /**
     * 土豪榜
     */
    @FormUrlEncoded
    @POST(API.START_GIFT)
    Observable<BaseData<GiftStarData>> getRankGiftStar(@FieldMap Map<String,String> params);

}
